#coding: utf-8

from ovni.interfaces import IContatoImediato
from zope.interface import implements
from zope.component import adapts
from zope.size.interfaces import ISized

class TamanhoObjeto(object):
    """
    Devolve o tamanho do objeto em numeros de palavras
    """

    adapts(IContatoImediato)
    
    implements(ISized)
    
    def __init__(self, context):
        self.context = context
        
    def sizeForDisplay(self):        
        unidade,quantidade = self.sizeForSorting()
        return '%s palavras' % quantidade
        
    def sizeForSorting(self):
        cont_palavras = self.context.local.split(' ') + self.context.descricao.split(' ')
        return ('Palavras', len(cont_palavras))
